package com.shujia.day13;

public class Code05Exception {
    public static void main(String[] args) {

        /*
            throws

            throw: 抛出一个异常对象，当执行到该代码时，后续的程序就不需要再执行了，直接终止提示错误内容
                       为什么需要创建一个异常对象？
                       对于Java来说，一切皆对象，那么错误处理过程中，也需要对对象进行传递 ，抛出异常实际上就是抛出了异常对象

         */
        try {
            getException();
        }catch (RuntimeException e){
            System.out.println("异常被捕获到了...");
//            e.printStackTrace();
//            System.out.println(e.toString());  // 类型及消息

            // printStackTrace(PrintStream ps)

//            e.printStackTrace(System.out);

        }
        System.out.println("=====================");
    }

    public static void getException() throws ArithmeticException,RuntimeException {
        int a = 10;
        int b = 1;

        if (b == 1) {
            throw new ArithmeticException("除数不能为1");  // throw 抛出的对象是程序员主动调用的错误
        } else {
            System.out.println(a / b);
        }

        System.out.println("程序有没有执行到这...");
    }
}
